home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-03-06 | 4.8 KB | 114 lines | [TEXT/GEOL] |
- Item 5051479 11-Feb-91 19:16
-
- From: KSAND@APPLE.COM@INTERNET# Gateway to Internet/BITNET/UUCP
-
- To: MACAPP.TECH$ MacApp Technical
-
- INTERNET# Document Id: <49065@apple.Apple.COM>
-
- ------------------------------------------------------------------------------
-
- Sub: Re: MacApp Source
-
- If you use AppleLink 6.0, you win! The Reply button works for gatewayed E-mail.
- Otherwise, copy & paste this: ksand@Apple.COM@INTERNET#
-
- From: ksand@Apple.COM (Kent Sandvik)
- References: <3336175@AppleLink.Apple.COM>
- Lines: 87
- Organization: Apple Computer Inc., Cupertino, CA
- Newsgroups: apple.mac.app
- Path: apple!ksand
- To: macapp.tech$@applelink.apple.com
-
-
- Well, this starts to get far off a MacApp discussion, so this is my
- one and only answer. Due to the fact that my opinions are attacked
- I had to answer, otherwise let's got back to MacApp technical talking...
-
- >????!!??!!!!?????????????????????????????????????????????????????????
- cute.
-
- >1) Providing class libraries without sources and good enough documentation to
- >use them is, no doubt, possible. It's just something that is difficult to
- >accomplish and which with we have little experience.
-
- It will happen, whether we want it or not.
-
- >2) MacApp is light-years beyond programming right on top of the toolbox and I
- >am continually amazed at how much the MacApp team has been able to accomplish
- >given their limited resources. However, I do not believe MacApp is in a state
- >that will permit the creation of documentation that will replace the need for
- >access to source.
-
- Also a questionable statement, but we all have opinions.
-
- >3) Inheritance mechanisms, as implemented in most object-oriented languages,
- >BREAK ENCAPSULATION. The amount of documentation needed to effectively
- >subclass is far greater than that needed to simply to use as-is. The whole
- >concept of MacApp as a framework REQUIRES the ability to suclass effectively.
-
- Well, inheritance should not necessarily break encapsulation. If you
- rely on inherited code then you break, but if you try to follow any
- kinds of documentation rules about use of method overriding then you
- don't break. Actually, the idea of reusing existing method code for
- your own methods is a dangerous long term idea, because it makes life
- hard for a developer to track the changes in the internals of the method
- he/she used in the first place. And which is a contradiction of the
- whole idea of Object Design.
-
- You have two reasons for inheritance overriding:
- a) Add some features, in which case you just call the old method as it
- is and add your functions.
- b) Totally modify the method, which firstly would seem to be a case
- where you need access to the code. But if you know by good documentation
- what the method does in the first place, then you don' need the sources.
-
- >4) More formal specifications of classes and their behaviours with language
- >features to enforce invariants, like Eiffel, could go a long way to making
- >object-code reusable libraries a reality.
-
- A lot of people have the idea that you need a special form of a language
- in order to provide 'Software-IC's. Maybe that's the reason Cox and
- Meyer are so heavily proposing their languages as the only alternatives :-).
- C++ takes the standpoint of providing most of the language semantics
- in order to create software modules. With the advent of templates the
- language starts to get mature enough for creation of bullet-proof
- software object libraries, even if it could be done today as well with
- careful design.
-
- >5) One should not confuse the use of source code browsing as a means of more
- >fully understanding the behaviour of classes with depending on the internals
- of
- >a class. There exists a fine, but clear, distinction. Afterall, if the
- >semantics were properly specified, or in some cases explicitly undefined, I
- >wouldn't have to look at the source code anyway- except for pedagogical
- >reasons.
-
- This is a question of having the right tools, instead of having
- source code files (which in many cases are a clumsy way to look
- at dependencies compared with a special tool).
-
- >6) Ideally, we shouldn't require source. Unfortunately, this is not the wo
- rld
- >we currently live in, though it eventually may be- I hope.
-
- Unfortunately the world we live in is full of copyrigths, licenses,
- trade marks, legions of laywers and greedy companies trying to
- steal stuff from each others.
-
- Regards,
- Kent Sandvik
- ...please let's close this and talk about something more MacApp:ish.
-
- >P.S. Let me know the next time you subclass malloc or OpenPort. ;-)
- PS: Let me know if you need access to malloc or OpenPort sources for
- your application development 8-|
-
-
- --
- Kent Sandvik, Apple Computer Inc, Developer Technical Support
- NET:ksand@apple.com, AppleLink: KSAND DISCLAIMER: Private mumbo-jumbo
- Zippy++ says: "C++ is a write-only language, I can write programs in C++
- but I can't read any of them".
-